package com.eric.utils;

import java.util.Set;

import org.apache.commons.lang.StringUtils;
import org.jsoup.nodes.Document;

import com.eric.Config;
import com.eric.downloader.SimplePageDownloader;
import com.eric.utils.page.IR;

public class DictionaryUtils {

	// public static void addCustomKW (CNFactory factory,Document doc) {
	// ArrayList<String> customKw = new ArrayList<String>();
	//
	// String[] title,metaKw;
	// try{
	// title = doc.title().split(Config.REGEX_SEPARATORS);//标点符号分开的字符
	// metaKw = doc.getElementsByAttributeValue("name",
	// "Keywords").first().attr("content").split(",");
	//
	// for (String s : title) {
	// if (StringUtils.isNotBlank(s) && s.length() < Config.AS_KW)
	// customKw.add(s);
	// }
	// for (String s : metaKw) {
	// if (StringUtils.isNotBlank(s) && s.length() < Config.AS_KW)
	// customKw.add(s);
	// }
	// } catch (NullPointerException e) {
	//
	// }
	//
	// for (String s : IR.anchors(doc.select("a"))) {
	// if (StringUtils.isNotBlank(s) && s.length() < Config.AS_KW)
	// customKw.add(s);
	// }
	//
	// CNFactory.addDict(customKw);
	// }

	/**
	 * 从页面的关键点提取KW，并加入CNFactory的自定义词典<br>
	 * 比如：title,meta keywords,anchor（不超过固定字符）
	 * 
	 * @param customKWList
	 * @param doc
	 */
	public static void autoAddKeywordsFromDocument(Set<String> customKWList, Document doc) {
		String[] title, metaKw;
		try {
			title = doc.title().split(Config.REGEX_SEPARATOR);// 标点符号分开的字符
			metaKw = doc.getElementsByAttributeValue("name", "Keywords").first().attr("content").split(",");

			for (String s : title) {
				if (StringUtils.isNotBlank(s) && s.length() <= Config.AS_KW)
					customKWList.add(s);
			}
			for (String s : metaKw) {
				if (StringUtils.isNotBlank(s) && s.length() <= Config.AS_KW)
					customKWList.add(s);
			}

			for (String s : IR.anchors(doc.select("a"))) {
				if (StringUtils.isNotBlank(s) && s.length() <= Config.AS_KW)
					customKWList.add(s);
			}
		} catch (NullPointerException e) {

		}
	}

	public static void addKeywordsFromUrl(Set<String> customKWList) {
		SimplePageDownloader spd = new SimplePageDownloader();
		String s = spd.download(Config.GENERAL_CUSTOM_KW).document().text();

		for (String ss : s.split("\n")) {
			customKWList.add(ss);
		}
	}

}
